package user;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:张熳
 * Date:2025-09-05
 * Time:14:59
 */

import book.BookList;
import ioperation.*;

/**
 * 图书的使用者分为管理员和普通用户，不同的使用者对于使用图书的权限是不同的，因此写一个User类，表示这两种使用者的父类，它是一个抽象类，使用者作为
 * 子类继承它，选择什么身份时，就实现哪个使用者中菜单的操作，即重写父类中的抽象方法.最后写一个构造方法，通过子类的继承去初始化父类中的成员变量
 * 注意：使用protected修饰符修饰
 */

public abstract class User {
    protected String name;

    public User(String name) {
        this.name = name;
    }

    public abstract int menu();//注意这里的返回类型要是int，方便通过返回的数字进行增删查、借阅、归还、退出操作

    protected IOperation[] iOperations;//通过子类进行初始化
    public void doIoperation(int chioce, BookList bookList) {
        iOperations[chioce].work(bookList);
    }
}
